﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Globalization;
using System.Drawing;

namespace CodeMonkeyToolApi
{
    public abstract class AbstractCodeMonkeyTool
    {
        /// <summary>
        /// 得到工具在指定Culture下的名称
        /// </summary>
        /// <param name="culture"></param>
        /// <returns></returns>
        public abstract String GetToolName(CultureInfo culture);
        /// <summary>
        /// 得到工具在指定Culture下的图标
        /// </summary>
        /// <param name="culture"></param>
        /// <returns></returns>
        public abstract Image GetToolIcon(CultureInfo culture);
        /// <summary>
        /// 得到工具在指定Culture下的类别名称
        /// </summary>
        /// <param name="culture"></param>
        /// <returns></returns>
        public abstract String GetToolType(CultureInfo culture);
        /// <summary>
        /// 得到工具在指定Culture下的作者名称
        /// </summary>
        /// <returns></returns>
        public abstract String GetAuthorName(CultureInfo culture);
        /// <summary>
        /// 得到作者邮件地址
        /// </summary>
        /// <returns></returns>
        public abstract String GetAuthorEmail();
        /// <summary>
        /// 当区域文化改变时
        /// </summary>
        /// <param name="culture"></param>
        public abstract void OnCultureChanged(CultureInfo culture);
        /// <summary>
        /// 开始运行
        /// </summary>
        public abstract void Start();
    }
}
